<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

class CollegeController extends AdminController{
    
    
    public function actionIndex(){
        
        $School = new School();
        $School->unsetAttributes();
        
        
        if(isset($_GET['School'])){
            
            $School->attributes = $_GET['School'];
            
        }
        
 
        $this->render('index',array(
          'School'=>$School  
        ));
        
    }
    
    public function actionAdd(){
        
         if(Yii::app()->request->isAjaxRequest){
            
           if(isset($_POST['School_type_id'])&&isset($_POST['School_prov_id'])&&isset($_POST['School_name'])&&isset($_POST['School_domain'])){
               
                   $School = new School();
                   $School ->name = $_POST['School_name'];
                   $School ->prov_id = $_POST['School_prov_id'];
                   $School ->type_id = $_POST['School_type_id'];
                   $School->domain = $_POST['School_domain'];
                   $School ->initials =$this->getFirstCharter($_POST['School_name']);
                  if($School->save()){
                      echo TRUE;
                  }else{
                      echo FALSE;
                  }
           }
           
           
       } 
        
    }
    
     function getFirstCharter($str) {
        if (empty($str)) {
            return '';
        }

        $a = mb_substr($str, 0, 3);
        switch ($a) {
            case "衢":
                return 'Q';
                break;
            case "暨":
                return 'J';
                break;
            case "泸":
                return 'L';
                break;
            case "亳":
                return 'B';
                break;
            case "濮":
                return 'P';
                break;
            case "漯":
                return 'L';
                break;
            case "重":
                return 'C';
                break;
            default :
                break;
        }

        $fchar = ord($str{0});
        if ($fchar >= ord('A') && $fchar <= ord('z'))
            return strtoupper($str{0});
        $s1 = iconv('UTF-8', 'gb2312', $str);
        $s2 = iconv('gb2312', 'UTF-8', $s1);
        $s = $s2 == $str ? $s1 : $str;
        $asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
        if ($asc >= -20319 && $asc <= -20284)
            return 'A';
        if ($asc >= -20283 && $asc <= -19776)
            return 'B';
        if ($asc >= -19775 && $asc <= -19219)
            return 'C';
        if ($asc >= -19218 && $asc <= -18711)
            return 'D';
        if ($asc >= -18710 && $asc <= -18527)
            return 'E';
        if ($asc >= -18526 && $asc <= -18240)
            return 'F';
        if ($asc >= -18239 && $asc <= -17923)
            return 'G';
        if ($asc >= -17922 && $asc <= -17418)
            return 'H';
        if ($asc >= -17417 && $asc <= -16475)
            return 'J';
        if ($asc >= -16474 && $asc <= -16213)
            return 'K';
        if ($asc >= -16212 && $asc <= -15641)
            return 'L';
        if ($asc >= -15640 && $asc <= -15166)
            return 'M';
        if ($asc >= -15165 && $asc <= -14923)
            return 'N';
        if ($asc >= -14922 && $asc <= -14915)
            return 'O';
        if ($asc >= -14914 && $asc <= -14631)
            return 'P';
        if ($asc >= -14630 && $asc <= -14150)
            return 'Q';
        if ($asc >= -14149 && $asc <= -14091)
            return 'R';
        if ($asc >= -14090 && $asc <= -13319)
            return 'S';
        if ($asc >= -13318 && $asc <= -12839)
            return 'T';
        if ($asc >= -12838 && $asc <= -12557)
            return 'W';
        if ($asc >= -12556 && $asc <= -11848)
            return 'X';
        if ($asc >= -11847 && $asc <= -11056)
            return 'Y';
        if ($asc >= -11055 && $asc <= -10247)
            return 'Z';
        return false;
    }
    
    
    
    
    public function actionEdit() {

        if(isset($_POST['School_id'])){
             $School = School::model()->findByPk($_POST['School_id']);
        }
        
        
        if(isset($_GET['id'])){
             $School = School::model()->findByPk($_GET['id']);
        }
       
        if(isset($_POST['School_type_id'])&&isset($_POST['School_prov_id'])&&isset($_POST['School_name'])&&isset($_POST['School_initials'])){
               
                  // $School = new School();
                   $School ->name = $_POST['School_name'];
                   $School ->prov_id = $_POST['School_prov_id'];
                   $School ->type_id = $_POST['School_type_id'];
                   
                   if(!$_POST['School_initials']){
                       $School ->initials =$this->getFirstCharter($_POST['School_name']);
                   }else{
                       $School ->initials =$_POST['School_initials'];
                   }
                   
                  // p_e($School->attributes);
                  if($School->save()){
                      echo TRUE;
                      exit;
                  }else{
                      var_dump($School->getErrors());
                     
                     // echo FALSE;
                      exit;
                  }
           }


        if ($School) {
            $this->renderPartial('edit', array('School' => $School),FALSE,TRUE);
        } else {
            throw new CHttpException(404, "无此新闻！");
        }
    }
    
    
}